package com.wechat.enums;

import com.wechat.command.Commands;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * 消息类型
 * 
 * @author 618lf
 */
@Getter
@RequiredArgsConstructor
public enum MessageType {
	Txt((byte) 1, "[文本]", Commands.Msg_Req_Txt), // 比较少的文本
	Text((byte) 2, "[文本]", Commands.Msg_Req_Text), // 大文本
	Image((byte) 3, "[图片]", Commands.Msg_Req_Image), // 图片
	Video((byte) 4, "[视频]", Commands.Msg_Req_Video), // 视频
	Audio((byte) 5, "[语音]", Commands.Msg_Req_Audio), // 音频
	File((byte) 6, "[文件]", Commands.Msg_Req_File), // 文件
	Link((byte) 7, "[链接]", Commands.Msg_Req_Link); // 连接

	private final byte v;
	private final String describe;
	private final Commands cmd;

	public static MessageType of(byte v) {
		for (MessageType type : MessageType.values()) {
			if (v == type.v) {
				return type;
			}
		}
		return null;
	}

	public static MessageType of(Commands cmd) {
		for (MessageType type : MessageType.values()) {
			if (type.cmd == cmd) {
				return type;
			}
		}
		return null;
	}
}
